{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "From https://github.com/gee-community/ee-jupyter-contrib/blob/master/examples/geometry/image_profile.ipynb"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "import ee; ee.Initialize()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "def reduceImageProfile(image, line, reducer, scale):\n",
    "    \"\"\"Returns image values reduced along given line.\n",
    "\n",
    "    Args:\n",
    "        image: Image to be reduced.\n",
    "        line: The line string used to query image values. The function splits\n",
    "            the line into smaller segments with the length equal to scale.\n",
    "            These smaller segments are then used to reduce image values with\n",
    "            the reducer.\n",
    "        reducer: Used used to reduce image values along line segments.\n",
    "        scale: Indicates scale used to cut line into shorter line segment.\n",
    "\n",
    "    Returns:\n",
    "        An ee.FeatureCollection containing distance and iamge value properties. \n",
    "    \"\"\"\n",
    "\n",
    "    length = line.length()\n",
    "    distances = ee.List.sequence(0, length, scale)\n",
    "    lines = line.cutLines(distances).geometries()\n",
    "\n",
    "    def generate_line_segment(l):\n",
    "        l = ee.List(l)\n",
    "        geom = ee.Geometry(l.get(0))\n",
    "        distance = ee.Geometry(l.get(1))\n",
    "\n",
    "        geom = ee.Algorithms.GeometryConstructors.LineString(geom.coordinates())\n",
    "\n",
    "        return ee.Feature(geom, {'distance': distance})\n",
    "\n",
    "    lines = lines.zip(distances).map(generate_line_segment)\n",
    "    lines = ee.FeatureCollection(lines)\n",
    "\n",
    "    # reduce image for every segment\n",
    "    band_names = image.bandNames()\n",
    "\n",
    "    return image.reduceRegions(lines, reducer.setOutputs(band_names), scale)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# image to be queried\n",
    "image = ee.Image('USGS/NED')\n",
    "\n",
    "# a line string used to qeury image values\n",
    "line = ee.Geometry.LineString(\n",
    "        [[-114.3843, 36.4257],\n",
    "         [-114.3616, 36.4220],\n",
    "         [-114.3514, 36.4203],\n",
    "         [-114.3419, 36.4199],\n",
    "         [-114.3116, 36.4228]])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x119647cf8>]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 936x576 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "profile = reduceImageProfile(image, line, reducer=ee.Reducer.max(), scale=10)\n",
    "\n",
    "# fetch resulting features (line segments) to the client\n",
    "features = profile.getInfo()['features']\n",
    "\n",
    "# extract distance and elevation properties from the resulting feature collection\n",
    "x = [f['properties'].get('distance') for f in features]\n",
    "y = [f['properties'].get('elevation') for f in features]\n",
    "\n",
    "# plot\n",
    "fig, ax = plt.subplots(figsize=(13, 8))\n",
    "ax.plot(x, y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
